<template>
  <Editor
    :value="value"
    :mode="mode"
    :plugins="plugins"
    @change="handleChange"
  />
</template>

<script setup lang="ts">
  import gfm from "@bytemd/plugin-gfm";
  import highlight from "@bytemd/plugin-highlight";
  import { Editor, Viewer } from "@bytemd/vue-next";
  import { ref, withDefaults, defineProps } from "vue";

  /**
   * 定义组件属性类型
   */
  interface Props {
    value: string;
    mode?: string;
    handleChange: (v: string) => void;
  }

  const plugins = [
    gfm(),
    highlight(),
    // Add more plugins here
  ];

  /**
   * 给组件指定初始值
   */
  const props = withDefaults(defineProps<Props>(), {
    value: () => "",
    mode: () => "split",
    handleChange: (v: string) => {
      console.log(v);
    },
  });
</script>

<style>
    .bytemd-toolbar-icon.bytemd-tippy.bytemd-tippy-right:last-child {
        display: none;
    }
</style>
